package be.ipl.diapero.testDomaine;

import static org.junit.Assert.*;

import java.awt.List;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;

import org.junit.Before;
import org.junit.Test;


import be.ipl.diapero.domaine.Action;
import be.ipl.diapero.domaine.De;
import be.ipl.diapero.domaine.Joueur;
import be.ipl.diapero.domaine.Partie;
import be.ipl.diapero.domaine.Tour;
import be.ipl.diapero.domaine.Action.Diablotin;
import be.ipl.diapero.domaine.De.Couleur;

public class TestTour {

	private Tour tour ;
	private Tour tour2 ;
	private Partie partie ;
	private Joueur joueur ;
	private Action action ;


	@Before
	public void setUp() throws Exception {
	   tour = new Tour(1);
	   tour2 = new Tour(2);
	   partie = new Partie("partie1", new GregorianCalendar());
	   joueur = new Joueur("kevin", "1234"); 
	   action = new Action(10, Diablotin.NOIR);
	   
	}

	@Test
	public void testConstructeur() {
		assertNotNull(tour);
	}
	
	@Test
	public void testGetId() {
		assertEquals(1, this.tour.getId());
	}
	
	@Test
	public void testGetNumero() {
		assertEquals(1, this.tour.getNumero());
	}
	
	@Test
	public void testGetDesLances() {
		assertNotNull(this.tour.getDesLances());
	}
	
	@Test
	public void testGetActions() {
		assertNotNull(this.tour.getActions());
	}
	
	@Test
	public void testHashCode() {
		assertNotNull(tour.hashCode());
	}
	
	@Test
	public void testEquals() {
		assertTrue(tour.equals(tour));
		assertFalse(tour.equals(tour2));
	}
	
	@Test
	public void testEffectuerActions() {
		assertTrue(tour.effectuerAction(partie, joueur, action));
	}

	
	
	
}
